The invention is directed to a novel method of preparing a recording (e.g., magnetic disk or tape) of a computer program whereby the recording is usable on one, and only one, preselected computer hardware system.
In recent years, the introduction of the personal or mini-computer has made it feasible for a mass utilization of computer systems by individuals and small businesses, both in the home and at work. Complementing, and indeed nuturing, this widespread distribution and use of such personal computer hardware systems is a fast growing software industry which has been rapidly developing dozens of proprietary software "packages" for mass distribution to users of personal computers. The software packages are directed to any number of practical applications from, e.g., simple checking account balancing programs to comprehensive accounting and financial systems. These proprietary programs have many practical applications in households and small business environments and greatly enhance the utility and effectiveness of personal computer hardware systems.
Typically, a mass marketed software package includes a recording of a particular proprietary computer program which is in a form that is "readable" by a personal computer. The most common form of recording is a magnetic disk wherein the instructions, routines, sequences of steps and so on of the program are permanently recorded on the disk in a predetermined array of discrete magnetic states which are representative of the information contained in the program. Such a disk is inserted into a disk drive component of a personal computer system and the information thereon is "read" by the computer so that the computer may store and execute the functions of the program.
A problem associated with the mass distribution of proprietary computer programs is that it is a relatively simple operation to copy the proprietary information from one disk to another disk. Thus, one purchaser of a commercially distributed software package may make several additional, unauthorized copies of the disk for use by friends and associates. Of even greater concern, an unauthorized distributer may make and sell large quantities of unauthorized copies. The net result is that the owner of the proprietary program may lose a considerable amount of sales due to the existence of large numbers of wrongfully obtained and unauthorized copies of his product.
It is the primary objective of the present invention to provide a novel method of recording information onto a disk whereby any particular disk is made usable on only one particular, preselected computer system, e.g., the particular computer owned by the first authorized purchaser of the disk. Thus, even if several copies of the disk are made, the copies will also only be usable on the previously selected, particular computer and, therefore, will not be suitable for distribution beyond the first authorized purchaser of the disk. Pursuant to the invention, each disk is subjected to a unique series of information recording steps whereby the particular disk becomes functionally linked to a certain, preselected computer hardware system. More specifically, the recording process of the invention permanently records onto the disk a series of magnetic "signals" representative of information containing the following:
1. a basic command on "boot" program which automatically executes upon inserting the disk in the disk drive of the selected computer system, i.e., the "boot" program instructs the computer as to how it is to proceed to read the remainder of the disk.
2. The proprietary program to be sold or leased to the ultimate, authorized user;
3. A linking program which, pursuant to the invention, contains instructions causing the selected computer to operate, during the initial run of the disk, to obtain identifying information which is unique to the selected machine and to permanently record on the disk, at a predetermined location, the unique identifying information, and
4. A verification program which, also pursuant to the invention, causes the computer, during all subsequent uses of the disk, to obtain corresponding indentifying information for the computer being used and to compare the identifying information recorded on the disk with the corresponding identifying information obtained from the computer being used and thereafter instructs the computer to proceed to read and execute the proprietary program if and only if there is a match between the compared identifying information.
According, the invention provides a recording method which physically stores on a disk, in a predetermined order, information containing further operative instructions for a first used computer whereby the first used computer initially operates to obtain and record on the disk additional, identifying information unique to the first-to-be-used computer. The disk, at this point, is fully recorded, as contemplated by the invention, and contains a physical arrangement of information that functionally and operatively links the disk to the particular, first-to-be-used computer system.
The recording system of the invention is fundamentally a two phase recording system wherein phase one of the system is utilized to record on the disk all of the basic information meant to be stored thereon, e.g., the proprietary program and the "boot" program, as well as additional information which makes the first computer used in connection with the disk a component to effect phase two of the recording system. As should be understood, phase two involves the recording of unique identifying information on the disk by the first used computer. Moreover, the invention includes the step of recording instructional information on the disk, during phase one, whereby, after completion of the two phase recording, the disk is functional only in connection with the selected, first-to-be-used computer which operated as the phase two recorder.
In accordance with the preferred embodiment of the invention, the identifying information may consist of any suitable information which is readily available within the first used computer and which uniquely identifies the particular machine. For example, the identifying information may consist of a serial number of a component of the machine such as a ROM, EPROM MOTHERBOARD, etc. Typically, the serial number for each component is stored in machine readable form within the component. Thus, a unique serial number may be read and stored on the disk by the first used computer by virtue of the instructions of the linking program. An alternative would be to simulate a diagnostic program. Such a program would determine exactly what the configuration of the computer and accessories is (e.g. type of printer, # disks, amount of memory, # serial ports, # parallel ports, etc.) The result would be stored in a hidden file on the disk.
Additional alternative sources of identifying information may include predetermined sections of ROM chips of the computer which may be transcribed onto the disk or a unique code or serial number generated by the linking program itself. The self generated code would then be stored within a component of the selected computer as well as on the disk. Any one of the above discussed forms of identifying information will provide a unique link between the disk and the selected computer system. What is critical to the invention is that the recording of information on the disk include computer executable instructions such that the total recording process entails the phase two recording step wherein the particular first-to-be-used computer completes the recording process by recording onto the individual disk information that will link the disk to the particular machine.
Pursuant to another feature of the invention, an additional "destroy" program may be recorded on the disk during phase one. The destroy program will instruct the first used computer to destroy the linking program after the linking program has been executed by the first used computer to record the identifying information on the disk. In this manner, it would not be possible to tamper with the phase two linking aspects of the recording process of the invention once the linking program has been executed by the selected computer. Additional "protection programs" may also be recorded onto the disk during the phase one recording step to further protect the proprietary software program and to minimize the opportunities to tamper with the disk. For example, a scramble program may be arranged to instruct a computer system to scramble the disk's "Sector Id's" whereby the computer is in effect instructed to treat the disk as if it were damaged or blank. In this manner, the computer will not be able to locate for copying information on the disk, such as the verify program and the unique identifying information recorded onto the disk during the phase two recording step. Furthermore, each disk may be prepared to include predetermined "errors", e.g., a "bad Sector Id". Such predetermined errors will prevent a user from accessing the list of files on the disk, thereby making it extremely difficult to find the name or location of the hidden identifying information data file, as well as the linking and verify programs. The above described methods for increasing the difficulty in tampering with the contents of the disk are well known in the art and when used in conjunction with the two phase recording process of the invention, will act to further protect a software developer from unauthorized use of his proprietary program. Moreover, the present invention comtemplates the inclusion of special instructions in the boot program which will cause a computer system to operate in a manner to prevent tampering with the verify program procedure recorded onto the disk during the phase one step of the recording method of the invention, as will appear.
For a better understanding of the above and other features and advantages of the invention, reference should be made to the following detailed description of a preferred embodiment of the invention and to the accompanying logic flow diagrams.